home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / a_utils / _archvrs / unix / freeze-2.lha / freeze / configure < prev    next >
Text File  |  1993-02-22  |  13KB  |  491 lines

  1. #!/bin/sh
  2. # Guess values for system-dependent variables and create Makefiles.
  3. # Generated automatically using autoconf.
  4. # Copyright (C) 1991, 1992 Free Software Foundation, Inc.
  5.  
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2, or (at your option)
  9. # any later version.
  10.  
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. # GNU General Public License for more details.
  15.  
  16. # You should have received a copy of the GNU General Public License
  17. # along with this program; if not, write to the Free Software
  18. # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  
  20. # Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] [--no-create]
  21. #        [--prefix=PREFIX] [--exec_prefix=PREFIX] [--with-PROGRAM] [TARGET]
  22. # Ignores all args except --srcdir, --prefix, --exec_prefix, and --no-create.
  23.  
  24. trap 'rm -f conftest* core; exit 1' 1 3 15
  25.  
  26. for arg
  27. do
  28.   # Handle --exec_prefix with a space before the argument.
  29.   if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
  30.   # Handle --host with a space before the argument.
  31.   elif test x$next_host = xyes; then next_host=
  32.   # Handle --prefix with a space before the argument.
  33.   elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
  34.   # Handle --srcdir with a space before the argument.
  35.   elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
  36.   else
  37.     case $arg in
  38.      -exec_prefix=* | --exec_prefix=* | --exec_prefi=* | --exec_pref=* | --exec_pre=* | --exec_pr=* | --exec_p=* | --exec_=* | --exec=* | --exe=* | --ex=* | --e=*)
  39.     exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  40.      -exec_prefix | --exec_prefix | --exec_prefi | --exec_pref | --exec_pre | --exec_pr | --exec_p | --exec_ | --exec | --exe | --ex | --e)
  41.     next_exec_prefix=yes ;;
  42.  
  43.      -gas | --gas | --ga | --g) ;;
  44.  
  45.      -host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
  46.      -host | --host | --hos | --ho | --h)
  47.     next_host=yes ;;
  48.  
  49.      -nfp | --nfp | --nf) ;;
  50.  
  51.      -no-create | --no-create | --no-creat | --no-crea | --no-cre | --no-cr | --no-c | --no- | --no)
  52.         no_create=1 ;;
  53.  
  54.      -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
  55.     prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  56.      -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
  57.     next_prefix=yes ;;
  58.  
  59.      -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
  60.     srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
  61.      -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
  62.     next_srcdir=yes ;;
  63.  
  64.      -with-* | --with-*) ;;
  65.  
  66.      *) ;;
  67.     esac
  68.   fi
  69. done
  70.  
  71. rm -f conftest*
  72. compile='${CC-cc} $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'
  73.  
  74. # A filename unique to this package, relative to the directory that
  75. # configure is in, which we can look for to find out if srcdir is correct.
  76. unique_file=freeze.h
  77.  
  78. # Find the source files, if location was not specified.
  79. if test -z "$srcdir"; then
  80.   srcdirdefaulted=yes; srcdir=.
  81.   if test ! -r $unique_file; then srcdir=..; fi
  82. fi
  83. if test ! -r $srcdir/$unique_file; then
  84.   if test x$srcdirdefaulted = xyes; then
  85.     echo "configure: Can not find sources in \`.' or \`..'." 1>&2
  86.   else
  87.     echo "configure: Can not find sources in \`${srcdir}'." 1>&2
  88.   fi
  89.   exit 1
  90. fi
  91. # Preserve a srcdir of `.' to avoid automounter screwups with pwd.
  92. # But we can't avoid them for `..', to make subdirectories work.
  93. case $srcdir in
  94.   .|/*|~*) ;;
  95.   *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
  96. esac
  97.  
  98.  
  99. compile='rm -f conftest.t;
  100.   mv conftest.c conftest.t;
  101.   echo "$DEFS" > conftest.c;
  102.   cat conftest.t >> conftest.c;
  103.   rm -f conftest.t;
  104.   ${CC-cc} conftest.c -o conftest $LIBS >/dev/null 2>&1'
  105.  
  106. if test -z "$CC"; then
  107.   echo checking for gcc
  108.   saveifs="$IFS"; IFS="${IFS}:"
  109.   for dir in $PATH; do
  110.     test -z "$dir" && dir=.
  111.     if test -f $dir/gcc; then
  112.       CC="gcc"
  113.       break
  114.     fi
  115.   done
  116.   IFS="$saveifs"
  117. fi
  118. test -z "$CC" && CC="cc"
  119.  
  120. # Find out if we are using GNU C, under whatever name.
  121. cat <<EOF > conftest.c
  122. #ifdef __GNUC__
  123.   yes
  124. #endif
  125. EOF
  126. ${CC-cc} -E conftest.c > conftest.out 2>&1
  127. if egrep yes conftest.out >/dev/null 2>&1; then
  128.   GCC=1 # For later tests.
  129.   CC="$CC -O"
  130. fi
  131. rm -f conftest*
  132.  
  133. echo checking how to run the C preprocessor
  134. if test -z "$CPP"; then
  135.   CPP='${CC-cc} -E'
  136.   cat <<EOF > conftest.c
  137. $DEFS
  138. #include <stdio.h>
  139. EOF
  140. err=`eval "$CPP conftest.c 2>&1 >/dev/null"`
  141. if test -z "$err"; then
  142.   :
  143. else
  144.   CPP=/lib/cpp
  145. fi
  146. rm -f conftest*
  147. fi
  148.  
  149. echo "${DEFS}#include <signal.h>" > conftest.c
  150. eval "$CPP conftest.c > conftest.out 2>&1"
  151. if egrep "(void|sighandler_t).*signal" conftest.out >/dev/null 2>&1; then
  152.   :
  153. else 
  154.   DEFS="${DEFS}#define RETSIGTYPE int
  155. "
  156. fi
  157. rm -f conftest*
  158.  
  159.  
  160. echo checking for unaligned access
  161. cat <<EOF > conftest.c
  162. #include <signal.h>
  163. RETSIGTYPE onintr() { exit(1); }
  164. int x[2] = { 12345, 67890 };
  165. main() { int *i;
  166. char * p = (char*) x;
  167. signal(SIGBUS, onintr);
  168. i = (int*) (p + 1);
  169. /* invert condition, as exit(0) == true */
  170. exit(*i == x[0]); /* check for LSB mask on word access */
  171. }
  172. EOF
  173. eval $compile
  174. if test -s conftest && (./conftest 2>/dev/null) 2>/dev/null; then
  175.   DEFS="${DEFS}#define ALLOW_MISALIGN 1
  176. "
  177. fi
  178. rm -f conftest*
  179. echo checking integer size
  180. cat <<EOF > conftest.c
  181. main() { exit(!(sizeof(int) == 2)); }
  182. EOF
  183. eval $compile
  184. if test -s conftest && (./conftest 2>/dev/null) 2>/dev/null; then
  185.   DEFS="${DEFS}#define INT_16_BITS 1
  186. "
  187. fi
  188. rm -f conftest*
  189. cat <<EOF > conftest.c
  190. main() { exit(sizeof(unsigned short) <= 2); }
  191. EOF
  192. eval $compile
  193. if test -s conftest && (./conftest 2>/dev/null) 2>/dev/null; then
  194.   DEFS="${DEFS}#define BIGSHORTS 1
  195. "
  196. fi
  197. rm -f conftest*
  198. echo checking for 64K segments
  199. cat <<EOF > conftest.c
  200. char x[69001];
  201. main () {
  202. x[12345] = ' ';
  203. exit(0);
  204. }
  205. EOF
  206. eval $compile
  207. if test -s conftest && (./conftest 2>/dev/null) 2>/dev/null; then
  208.   :
  209. else
  210.   DEFS="${DEFS}#define SEGMENTED 1
  211. " segmented=1
  212. fi
  213. rm -f conftest*
  214. if test "$segmented"; then
  215. echo It seems that your computer supports different memory models.
  216. echo If it is so, you may wish to build freeze in small model
  217. echo in order to speed it up.
  218. echo To do that, you will need to additionally define TINY
  219. echo in config.h file you will get after the configuration.
  220. fi
  221. echo checking for long file names
  222. (echo 1 > conftest9012345) 2>/dev/null
  223. (echo 2 > conftest9012346) 2>/dev/null
  224. val=`cat conftest9012345 2>/dev/null`
  225. test -f conftest9012345 && test "$val" = 1 && DEFS="${DEFS}#define HAVE_LONG_FILE_NAMES 1
  226. "
  227. rm -f conftest9012345 conftest9012346
  228.  
  229. echo checking for directory library header
  230. echo checking for dirent.h
  231. cat <<EOF > conftest.c
  232. $DEFS
  233. #include <dirent.h>
  234. EOF
  235. err=`eval "$CPP conftest.c 2>&1 >/dev/null"`
  236. if test -z "$err"; then
  237.   DEFS="${DEFS}#define DIRENT 1
  238. " dirheader=dirent.h
  239. fi
  240. rm -f conftest*
  241.  
  242. if test -z "$dirheader"; then
  243. echo checking for sys/ndir.h
  244. cat <<EOF > conftest.c
  245. $DEFS
  246. #include <sys/ndir.h>
  247. EOF
  248. err=`eval "$CPP conftest.c 2>&1 >/dev/null"`
  249. if test -z "$err"; then
  250.   DEFS="${DEFS}#define SYSNDIR 1
  251. " dirheader=sys/ndir.h
  252. fi
  253. rm -f conftest*
  254.  
  255. fi
  256. if test -z "$dirheader"; then
  257. echo checking for sys/dir.h
  258. cat <<EOF > conftest.c
  259. $DEFS
  260. #include <sys/dir.h>
  261. EOF
  262. err=`eval "$CPP conftest.c 2>&1 >/dev/null"`
  263. if test -z "$err"; then
  264.   DEFS="${DEFS}#define SYSDIR 1
  265. " dirheader=sys/dir.h
  266. fi
  267. rm -f conftest*
  268.  
  269. fi
  270.  
  271. echo checking for closedir return value
  272. cat <<EOF > conftest.c
  273. #include <sys/types.h>
  274. #include <$dirheader>
  275. int closedir(); main() { exit(0); }
  276. EOF
  277. eval $compile
  278. if test -s conftest && (./conftest 2>/dev/null) 2>/dev/null; then
  279.   :
  280. else
  281.   DEFS="${DEFS}#define VOID_CLOSEDIR 1
  282. "
  283. fi
  284. rm -f conftest*
  285.  
  286. for hdr in sys/stdtypes.h
  287. do
  288. trfrom='[a-z]./' trto='[A-Z]__'
  289. echo checking for $hdr
  290. cat <<EOF > conftest.c
  291. $DEFS
  292. #include <$hdr>
  293. EOF
  294. err=`eval "$CPP conftest.c 2>&1 >/dev/null"`
  295. if test -z "$err"; then
  296.   DEFS="${DEFS}#define HAVE_`echo $hdr|tr "$trfrom" "$trto"` 1
  297. "
  298. fi
  299. rm -f conftest*
  300. done
  301.  
  302. for func in rindex setlinebuf
  303. do
  304. trfrom='[a-z]' trto='[A-Z]'
  305. echo checking for ${func}
  306. echo "
  307. main() { exit(0); } t() { 
  308. /* Override any gcc2 internal prototype to avoid an error.  */
  309. extern char ${func}(); ${func}(); }" > conftest.c
  310. if eval $compile; then
  311.   DEFS="${DEFS}#define HAVE_`echo $func|tr "$trfrom" "$trto"` 1
  312. "
  313. fi
  314. rm -f conftest*
  315. done
  316.  
  317. echo "${DEFS}#include <utime.h>" > conftest.c
  318. eval "$CPP conftest.c > conftest.out 2>&1"
  319. if egrep "utimbuf" conftest.out >/dev/null 2>&1; then
  320.   DEFS="${DEFS}#define UTIME 1
  321. " utimes=1
  322. fi
  323. rm -f conftest*
  324.  
  325. if test -z "$utimes"; then
  326. echo "${DEFS}#include <sys/utime.h>" > conftest.c
  327. eval "$CPP conftest.c > conftest.out 2>&1"
  328. if egrep "utimbuf" conftest.out >/dev/null 2>&1; then
  329.   DEFS="${DEFS}#define SYSUTIME 1
  330. " utimes=1
  331. fi
  332. rm -f conftest*
  333.  
  334. fi
  335. if test -z "$utimes"; then
  336. echo "${DEFS}#include <sys/time.h>" > conftest.c
  337. eval "$CPP conftest.c > conftest.out 2>&1"
  338. if egrep "timeval" conftest.out >/dev/null 2>&1; then
  339.   DEFS="${DEFS}#define SYSTIME 1
  340. "
  341. fi
  342. rm -f conftest*
  343.  
  344. fi
  345. # Make sure to not get the incompatible SysV /etc/install and
  346. # /usr/sbin/install, which might be in PATH before a BSD-like install,
  347. # or the SunOS /usr/etc/install directory.
  348. if test -z "$INSTALL"; then
  349.   echo checking for install
  350.   saveifs="$IFS"; IFS="${IFS}:"
  351.   for dir in $PATH; do
  352.     test -z "$dir" && dir=.
  353.     case $dir in
  354.     /etc|/usr/sbin|/usr/etc) ;;
  355.     *)
  356.       if test -f $dir/install; then
  357.     INSTALL="$dir/install -c"
  358.     INSTALL_PROGRAM='$(INSTALL)'
  359.     INSTALL_DATA='$(INSTALL) -m 644'
  360.     break
  361.       fi
  362.       ;;
  363.     esac
  364.   done
  365.   IFS="$saveifs"
  366. fi
  367. INSTALL=${INSTALL-cp}
  368. INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
  369. INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
  370.  
  371. echo checking for freeze to derive installation directory prefix
  372. if test -z "$prefix"
  373. then
  374.   saveifs="$IFS"; IFS="$IFS:"
  375.   for dir in $PATH; do
  376.     test -z "$dir" && dir=.
  377.     if test $dir != . && test -f $dir/freeze; then
  378.       # Not all systems have dirname.
  379.       prefix=`echo $dir|sed 's,/[^/][^/]*$,,'`
  380.       break
  381.     fi
  382.   done
  383.   IFS="$saveifs"
  384. fi
  385.  
  386. if test -n "$prefix"; then
  387.   test -z "$exec_prefix" && exec_prefix='$(prefix)'
  388.   prsub="s,^prefix[     ]*=.*$,prefix = $prefix,"
  389. fi
  390. if test -n "$exec_prefix"; then
  391.   prsub="$prsub
  392. s,^exec_prefix[     ]*=.*$,exec_prefix = $exec_prefix,"
  393. fi
  394.  
  395. trap 'rm -f config.status; exit 1' 1 3 15
  396. echo creating config.status
  397. rm -f config.status
  398. cat <<EOF > config.status
  399. #!/bin/sh
  400. # Generated automatically by configure.
  401. # Run this file to recreate the current configuration.
  402. # This directory was configured as follows:
  403. # $0 $*
  404.  
  405. case "\$1" in
  406.   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
  407.   exec /bin/sh $0 $* ;;
  408. esac
  409.  
  410. trap 'rm -f Makefile config.h; exit 1' 1 3 15
  411. CC='$CC'
  412. CPP='$CPP'
  413. INSTALL='$INSTALL'
  414. INSTALL_PROGRAM='$INSTALL_PROGRAM'
  415. INSTALL_DATA='$INSTALL_DATA'
  416. LIBS='$LIBS'
  417. srcdir='$srcdir'
  418. DEFS='$DEFS'
  419. prefix='$prefix'
  420. exec_prefix='$exec_prefix'
  421. prsub='$prsub'
  422. EOF
  423. cat <<\EOF >> config.status
  424.  
  425. top_srcdir=$srcdir
  426. for file in Makefile; do
  427.   srcdir=$top_srcdir
  428.   # Remove last slash and all that follows it.  Not all systems have dirname.
  429.   dir=`echo $file|sed 's,/[^/][^/]*$,,'`
  430.   if test "$dir" != "$file"; then
  431.     test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
  432.     test ! -d $dir && mkdir $dir
  433.   fi
  434.   echo creating $file
  435.   rm -f $file
  436.   echo "# Generated automatically from `basename $file`.in by configure." > $file
  437.   sed -e "
  438. $prsub
  439. s,@CC@,$CC,
  440. s,@CPP@,$CPP,
  441. s,@INSTALL@,$INSTALL,
  442. s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,
  443. s,@INSTALL_DATA@,$INSTALL_DATA,
  444. s,@LIBS@,$LIBS,
  445. s,@srcdir@,$srcdir,
  446. " $top_srcdir/${file}.in >> $file
  447. done
  448.  
  449. echo creating config.h
  450. # Ultrix awk loses trailing comments from the header file, but
  451. # that's not fatal.
  452. rm -f conftest.h
  453. echo "/* config.h.  Generated automatically by configure.  */" > conftest.h
  454. echo "$DEFS
  455. /* END_OF_DEFS */" |
  456. awk '
  457. # The escaped newlines are to work around a bug in GNU m4 0.99
  458. # in quoting more than 2 arguments in a single line.
  459. BEGIN { filenum = 1 }
  460. filenum == 1 && $1 == "#define" \
  461. { defs[$2] = $3
  462.   for (i = 4; i <= NF; i++)
  463.     defs[$2] = defs[$2] " " $i
  464. }
  465. /END_OF_DEFS/ { filenum = 2; next }
  466. filenum == 2 && $1 == "#define" && \
  467. defs[$2] != "" {
  468.   $3 = defs[$2]
  469.   print; next
  470. }
  471. filenum == 2 && $1 == "#undef" && \
  472. defs[$2] != "" {
  473.   $1 = "#define"
  474.   $2 = $2 " " defs[$2]
  475.   print; next
  476. }
  477. filenum == 2 { print }
  478. ' - $top_srcdir/config.h.in >> conftest.h
  479. if cmp -s config.h conftest.h 2>/dev/null; then
  480.   # The file exists and we would not be changing it.
  481.   rm -f conftest.h
  482. else
  483.   rm -f config.h
  484.   mv conftest.h config.h
  485. fi
  486.  
  487. EOF
  488. chmod +x config.status
  489. test -n "$no_create" || ./config.status
  490.  
  491.